1. Field of the Invention
The present invention relates to a data processing apparatus, a data processing method, and a computer-readable recording medium on which a program for executing data processing is stored and, more particularly, to data processing for protection of intellectual property rights in technological aspects (e.g., patent rights and utility model rights) required for production and/or reproduction of contents data.
2. Related Background of Art
In recent years, the international standardization of coding of data of images, videos, speech, audios, computer graphics, etc., has been advanced and the development of multimedia using such contents has also been promoted. In particular, in ISO/IEC14496 (MPEG (Moving Picture Experts Group)-4), the international standardization of a multimedia coding system (compression format) is being advanced.
In the ISO/IEC14496 standard, the spatial and temporal placement of each media, as well as ordinary coding of video and audio data, can be defined, which is called scene description. Also, each media is called an object.
FIG. 1 is a diagram for explaining an example of a scene which can be expressed in the MPEG-4 coding system.
In the example shown in FIG. 1, a box 601, a cylinder 602, an image texture applied to the box, and video texture applied to the cylinder, are defined as graphic objects, and audio 603 to be reproduced is also defined.
As a technique for scene description itself, BIFS (Binary Format for Scene description) function-extended and designed for binarization on the basis of VRML (Virtual Reality Modeling Language) is adopted. The binarization method for BIFS will not be described.
Apart from this scene description, data designating attributes of each object called “object descriptor” (referred to as OD, hereinafter) is added. Examples of attributes designated by OD are media attributes (video, audio, image, etc.), copyright holder information, Qos (quality of service) information, and content rating information. Such attributes themselves are contained as individual descriptors in OD.
FIG. 2 is a diagram showing an example of a bit stream in accordance with the MPEG-4 coding system.
Referring to FIG. 2, an initial OD 1401 stores properties of the entire bit stream (a bit stream profile, etc.), and a BIFS stream 1402 stores scene information.
An OD 1403 describes attributes of following objects. In this embodiment, the bit stream has two ODs (OD1 (1403)), (OD2 (1406)). Each OD can describe a plurality of elementary stream descriptors (referred to as ESDs (1404, 1407), hereinafter) indicating attributes of media streams (called elementary streams (referred to as ES, hereinafter)). ESs in the ODs are ESs1 (1409, 1411, 1413, 1415) and ESs2 (1410, 1412, 1414, 1416).
Also, according to the ISO/IEC14496 standard, copyright management information and access control information can be added to each OD with respect to each ES. This kind of information is called IPMP (intellectual property management and protection) information. Details of IPMP information itself are described by a descriptor called an IPMP descriptor. In actuality, a cryptographic technique is often used for access control. However, no method (descriptor syntax) has been specified for IPMP, and a description of IPMP information is syntax-free. Only a system type number registered in a registration authority (RA) is described.
Each of the above-described OD, ESD, IPMP descriptor must be placed at a leading position in the stream prior to the elementary streams, as shown in FIG. 2. However, addition, elimination and change of each descriptor is possible if an update command is inserted in the stream.
Actually, the elementary streams are packetized to form a sync layer packet (SL packet). A SLConfig descriptor (SLConfig (1405, 1408)) is also attached to each ESD.
On the other hand, IPMP information itself, described by an IPMP descriptor, can have an ES for IPMP (IPMP_ES) added to it by a link using an ID.
FIG. 3 shows an example of a bit stream to which ESs for IPMP are added.
Referring to FIG. 3, IPMP1 (1501) and IPMP2 (1502) are IPMP_ES related to ES1 and ES2, respectively. In this bit stream, a command (1503) for updating IPMP information is inserted in one place.
FIG. 4 shows details of an example of an IPMP descriptor.
Referring to FIG. 4, a descriptor tag 1601 is provided as information indicating the kind of the descriptor. A length field 1602 indicates the entire length (number of bytes) of this descriptor. A field 1603 contains a descriptor ID. A field 1604 contains IPMPS_Type, which represents a security type number, as mentioned above. A field 1605 is an optional field in which data accompanying IPMP can be inserted as desired. In this option field, syntax-free description is made.
FIG. 5 is a diagram showing an example of a system encoder for forming the above-described bit stream.
Referring to FIG. 5, object descriptor generators 1701 generate the above-described descriptors according to the properties of a bit stream.
Media encoders 1702 are a unit in which video data, audio data, etc., are actually encoded. A BIFS encoder 1704 binarises scene information. An IPMP controller 1703 controls the encoder according to IPMP descriptors and IPMP_ES (for example, controls execution of encrypting processing).
An update controller 1705 inserts a command for updating properties of ODs, ESDs, IPMP descriptors when necessary. A multiplexer 1706 finally multiplexes descriptors generated as described above and media streams into one SL packet.
FIG. 6 is a diagram showing an example of a system decoder for decoding the above-described bit stream.
Referring to FIG. 6, a demultiplexer 1801 discriminates descriptors and ESs from each other. A descriptor parser 1802 identifies each kind of descriptor from tag information, deciphers the contents of each kind of descriptor, and sets them in corresponding sections.
A BIFS decoder 1803 decodes a binarized BIFS stream to reconstruct a scene structure. Media decoders 1804 are sections in which different kinds of media data, such as video data, audio data, and image data, are actually decoded. A renderer 1807 is a mechanism for suitably displaying and reproducing each object according to the scene structure.
An IPMP controller 1805 controls reproduction of each media according to information through IPMP descriptors and IPMP_ES. For example, when encrypted data is received, the IPMP controller 1805 decrypts the data and then transfers the decrypted data to the media decoder. A sync controller 1806 controls synchronization among respective media data.
The process for transferring data from the encoder shown in FIG. 5 to the decoder shown in FIG. 6 will not be specially described. Ordinarily, in the case of transmission over a network, data is transmitted or received as one bit stream in one session.
With the development of complicated high-function coding systems such as MPEG coding systems, there have been increasing movements, among organizations and enterprises concerned with standardization processes, toward demanding payment of royalties for techniques to recover the standardization cost. Actually, a patent licensing corporation was established for management of MPEG-2 to charge companies at a fixed rate with respect to each of their products for payment of royalties for important patents relating to MPEG-2. Manufacturers of codecs have become licensees to be collectively licensed under patents relating to MPEG-2 and are paying royalties.
MPEG-4, however, allows a large number of combinations of tools unlike MPEG-2 the usage of which is comparatively limited to broadcasting and digital storage media.
For example, in Simple Profile, tools for encoding of I-VOP (Intra-coded VOP(Video Object Plane)), P-VOP (Predictive-coded VOP), AC/DC prediction, etc., at an encoding rate of 384 kbps or lower are used to perform coding limited to rectangular shapes. In Core Profile, at an encoding rate not exceeding 2 Mbps, tools for encoding arbitrary shapes and B-VOP (Bidirectionally Predictive-coded VOP) are added to those for Simple Profile. Thus, the MPEG-4 coding system is very complicated.
If a patent licensing method such as that for MPEG-2 is used for MPEG-4, inequitable charging occurs since the tools of MPEG-4 are variously selected and used. A method of setting charges with respect to each profile and a method of setting combinations and setting charges with respect to the combinations also cause inequities. For example, even use of Simple Profile tools alone at an encoding rate of 1 Mbps incurs a royalty for arbitrary shape encoding.